Guideline: Processes In Test Environments
Relationships
Related Elements
Main Description

To prevent the problems described in section Problems In Test Environments, processes need to be in place for managing the setup and maintenance of the environments. These management processes are:

  • Configuration management
  • Change management
  • Release management.

Configuration management

The aim of configuration management is to be clear of the configuration of the various environments at all times. In addition to the test object itself, configuration is understood to mean the set of components as summed up in the defi nition of test environment (hardware and software, interfaces, environment data, and management tools). This involves not only the components themselves, but their version as well and in particular. The CMDB ( Configuration Management Data Base) contains the data for these components. This process ensured that only authorised changes are implemented in the environments. Using the CMDB, the differences between the environments can be established quite easily.

It is important for the tester to be involved in this process, for the following reasons:

  • To know in which configuration the defects occur. This configuration must be reported with the defect
  • To know how the versions of the testware must be built. There is a close relationship between the testware and the version of the configurations. It is important to copy the configuration structure and naming and numbering methods for testware management.

Change management

The aim of change management is to implement all individual changes about which stakeholders are in agreement in the various environments in a controlled manner. The implementation should not result in new defects. Changes may be delivered as a result of defects, hardware modifications, the implementation of newly developed software, or data file changes. The change management process looks at the total impact of a change. An up-todate CMDB (see configuration management) is necessary to determine the impact in a specific environment. It is important for the tester to be involved in this process, for the following reasons:

  • Changes in requirements result in changes in the test basis. It is therefore important for the tester to know which parts of the test object change and what the changes involve, so that the test cases and test scripts can be adapted if necessary.
  • Changes often must be tested. For each change it is necessary to determine whether it has to be tested and whether it can be tested. The testability of a change depends, among other things, on the quality of the change description. This can be taken into account when a tester is involved in the change description at an early stage.

Changes often result in test work and must therefore be scheduled.

Release management

The aim of release management is the implementation of one or more combined and approved (via change management) changes from one environment to the other. Release management covers all of the components that are part of a change.

Version management (the right version in the right environment) is an important part of release management. It is important for the tester to be involved in the release management process, for the following reasons:

  • To know which versions of the test scripts are necessary. As a tester, it is important to know which versions of the various components are installed. In practice, this is most important for the version of the software (which usually is the test object). Depending on the version, specific requirements are built or not, and therefore specific test scripts are necessary or not.
  • To know which release is sent to the client. The test occurs on a specific release and the release advice is therefore linked to it.